Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

5.5K
Views
Docker Nginx se detuvo: [emerg] 1#1: host no encontrado en upstream

Estoy ejecutando docker-nginx en el servidor ECS. Mi servicio nginx se detuvo repentinamente porque el proxy_pass de uno de los servidores se volvió inalcanzable. El error es el siguiente:

 [emerg] 1#1: host not found in upstream "dev-example.io" in /etc/nginx/conf.d/default.conf:988

Mi archivo de configuración es el siguiente:

 server { listen 80; server_name test.com; location / { proxy_pass http://dev-exapmle.io:5016/; proxy_redirect off; ##proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } } server { listen 80 default_server; server_name localhost; #charset koi8-r; #access_log /var/log/nginx/log/host.access.log main; location / { root /usr/share/nginx/html; index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }

Tengo muchos servidores en el archivo de configuración, incluso si un servidor no funciona, necesito ejecutar nginx. Hay alguna manera de arreglarlo?

Cualquier sugerencia para solucionar este problema sería apreciada.

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Solo agregar un solucionador no resolvió el problema en mi caso. Pero pude solucionarlo usando una variable para el host. Además, supongo que tiene más sentido usar el DNS de Docker en 127.0.0.11 (esta es una IP fija).

Ejemplo:

 server { listen 80; server_name test.com; location / { resolver 127.0.0.11; set $example dev-example.io:5016; proxy_pass http://$example; } }

Encontré la solución variable en esta página .

over 4 years ago · Santiago Trujillo Report

0

Incluya para evitar que Nginx se bloquee si su sitio no funciona, incluya una directiva de resolución, de la siguiente manera:

 server { listen 80; server_name test.com; location / { resolver 8.8.8.8; proxy_pass http://dev-exapmle.io:5016/; proxy_redirect off; ...

¡ADVERTENCIA! El uso de un DNS público crea un riesgo de seguridad en su backend, ya que sus solicitudes de DNS pueden ser falsificadas. Si esto es un problema, debe apuntar la resolución a un servidor DNS seguro.

over 4 years ago · Santiago Trujillo Report

0

Esto generalmente significa que el nombre dns que proporcionó como servidor ascendente no se puede resolver. Para probarlo, inicie sesión en el servidor nginx e intente hacer ping al servidor ascendente proporcionado y vea si la resolución de nombres se completa correctamente. Si es un contenedor docker, intente docker exec -it para obtener un shell, luego intente hacer ping en el flujo ascendente para probar la resolución de nombres. Si el contenedor se detiene, intente usar la dirección IP en lugar del nombre dns en su bloque de servidor.

 proxy_pass http://<IP ADDRESS>:5016/;

También puede usar la directiva de resolución si desea usar un servidor dns diferente para esta ubicación que el sistema host:

 resolver 8.8.8.8;
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!